Print systems capable of handling large print jobs (e.g., hundreds or thousands of documents) typically include a print controller that receives a print job and rasterizes the logical pages of the print job into bitmap images. In N-up printing, the print controller assembles multiple logical pages onto a sheet side for printing. In addition to rasterization and assembly, the print controller may perform other processes in the course of processing a print job, such as preflight, preview, and job ticket editing.
Each process of the print controller performs its function by referring to a job model that captures the properties of all sheets in the print job. If one of the print controller's processes changes the properties of a sheet, then the layout of the entire print job may be affected. Therefore, a process may store a new job model in memory so that the print controller's other processes are able to reference the updated information in the print job. Each produced job model is typically stored in solid state memory, such as Random Access Memory (RAM), for fast access. However, solid state memory is an expensive, finite resource and can quickly become full storing a job model and its updated versions, especially for large print jobs.